1. Field of the Invention
The present invention relates in general to autonomous control systems and more particularly to goal-driven, state-based control systems that are readily adapted from one application to another.
2. Background
The control of complex highly automated systems has required the development of sophisticated techniques for planning the actions of the system, for acquiring data upon which to base those actions or to judge their effectiveness, and for executing the plans so developed. After initial action is taken, the control of such systems then further requires actions to continue in response to the initial actions taken, as well as to changed circumstances. This results in a need for the planning, response, and action systems to work in concert.
This is further complicated by the reality that in actual operation, the system must operate where the state of the environment around the control system and the state of the system being controlled are often only known in a probabilistic sense. This complicates the decision-making processes needed to plan the actions of the control system. A further difficulty is the presence of a temporal dimension to the control problem. Often the desired actions from the system must be performed within certain time windows. Other constraints may prevent the system from taking actions during other, possibly overlapping, time intervals, and still other constraints may effect the order in which actions may be taken.
To address this complex task with multi-dimensional constraints and statistical indeterminism, autonomous control approaches have attempted to simplify the problem by separating the statistical behavioral analysis, the control execution functions, and/or the planning and deliberation functions. By addressing each of these singly or in smaller groups, and providing an interface between them, development of the control system was made more tenable. However, this required the deliberative process to have an internal model that reflected, at some simpler level, the behavior of the other elements.
This solution resulted in the control system having a model of the system being controlled, and the universe in which it operated, inherently incorporated within the deliberative portions of the control system. As a consequence, the deliberation mechanisms become tightly coupled with the specifics of the system being controlled and the environment in which it is operating, while being disconnected from the detailed statistical behavior and actuator models. This has the consequence of producing a control system which can not readily be adapted if the system that is being controlled or the environment in which it operates is changed dramatically from that for which it was originally designed.
The one embodiment of the invention provides a system in which a controller for the control of a system operating within an external environment can be developed where common shared models of the system and controller behavior are maintained separate from the algorithms involved in the deliberative elaboration of goals upon the state of the system. One embodiment of the invention also provides methods in which the common shared models may be adapted for use in a second system operating in a second environment, or for the first system operating in an environment, outside of the scope envisioned during its use in the first environment. These adaptation methods allow for the adaptation of the controller to multiple uses while requiring minimum changes to the deliberative elaboration algorithms or substantial changes to their implementation. In this manner, the adaptation of the controller to multiple environments and problem spaces may efficiently be performed, based on a thorough knowledge of the system and the environment in which it operates while minimizing the required familiarity with deliberative goal elaborator, the algorithms employed in the elaborator, or the implementation of those algorithms.
This is achieved by creating a controller having components which manage and oversee the system in response to external goals on the behavior of the system and the controller, and changes in the external environment in which the system operates. These components perform via the use of defined state variables operating within a state knowledge manager, a control executor, a statistical state estimator, and a set of hardware proxies. These components utilize a set of shared models of the state variables of the system and its operating environment.
The shared models constitute the mechanism by which the components of the controller ensure that the behavior of the state variables are consistent among the components and are consistently defined and managed. In one embodiment of the controller, the state variables are implemented as object instantiations of a class of state variables. Each object having defined attributes and associated methods that allow the components of the controller to each meaningfully act on the state variable or in response to the value of attributes of the state variable. It is via these attributes and associated methods that the common model of the state variable behavior is maintained among the components of the controller.
The hardware proxies act as the object interfaces to the hardware sensors and actuators of the system. The attributes of these proxies correspond to the interfaces of the system hardware and the associated methods capture the behaviors of the sensors, including their dynamic performance, accuracy, and error modes. The hardware proxies provide to the statistical state estimation component, the measurements needed to update the estimated value and uncertainties associated with each state variable. These estimates are based also upon pre-existing values of attributes of the state variable including its statistical behavior, its uncertainty and its a priori value. The statistical state estimator updates the values of the attributes based upon the measurements provided by the hardware proxies and the previous attributes of the state.
The updated state variables are managed by the state knowledge management component of the system. This component enables the dissemination of the knowledge of the value of the attributes of the state variables to the other components of the controller as well as to the rest of the system, and, in some embodiments, as telemetry data. The state knowledge manager holds and manages the complete set of state variables and manages the relationships between them. For those state variables which are not estimated from measurements, but which are derived variables, that is to say are derived from combinations of other state variables, the state knowledge manager is responsible for updating the values of the derived state variables when one of the underlying basis variables is updated. The state knowledge manager also provides the mechanisms by which the state variable may be propagated between statistical estimator updates. To achieve this the state knowledge manager invokes the propagation method associated with the state variable.
The state control executor effects changes upon the state of the system in accordance with goals on the state received from a goal elaborator. This control is preferably affected without incorporating the specifics of the state behavior into the elaboration algorithms. The state control executor directs actions to the hardware proxies such that the system will respond in a way to meet the input state goals. In order to achieve this, the state control executor uses knowledge of the relationship between the system actuators and the state variables from the same models that are used in the statistical state estimation component.
The utilization of instantiated objects of the state variable class and shared common models for the behavior of the system is of benefit to the adaptation process. When it is necessary to use the system in a different operating environment, the system is modified in some manner (typically by hardware changes), or a new system is created, the controller may be adapted for use in the changed circumstances with a minimum of required changes to the deliberative elaborator. By substituting a second set of objects corresponding to the states of the second system, substituting a second set of hardware proxies, and substituting a second set of state estimation and state control models, the controller can be readily adapted to the new application with minimal changes to the implementation of the controller. This then transforms the adaptation of the controller from a complex job involving both knowledge of the system and software development expertise, to a job requiring only knowledge of the system and more basic software development expertise. This is preferably achieved by the use of an object oriented software system, implemented in a language such as C++ or Java, utilizing objects corresponding to the state variables of the system at the software""s core.
For purposes of summarizing the invention, certain aspects, advantages and novel features of the invention have been described herein above. It is to be understood, however, that not necessarily all such advantages may be achieved in accordance with any particular embodiment of the invention. Thus, the invention may be embodied or carried out in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other advantages as may be taught or suggested herein.